/********************************************
 * 功能说明: 
 * 模块名称: 
 * 系统名称: 
 * 软件版权: 北京银杉金服科技有限公司
 * 系统版本: 1.0.0
 * 开发人员: zhangfb
 * 开发时间: 2018/9/23 11:19
 * 审核人员: 
 * 相关文档: 
 * 修改记录: 修改日期 修改人员 修改说明
 *********************************************/
package com.hyacinth.entity;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import javax.persistence.*;
import java.util.Date;

/**
 * 登陆日志对象
 * @author zhangfb
 * @version 1.0.0.1
 * @since JDK 1.8
 */
@Data
@Entity
@Table(name = "base_login_log")
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
public class LoginLog extends BaseEntity{

    private static final long serialVersionUID = 1L;

    /** 用户编码 */
    @Column(
            name = "user_code",
            nullable = false,
            length = 32
    )
    private String userCode;
    /** 用户名称 */
    @Column(
            name = "user_name",
            length = 20
    )
    private String userName;

    /** 角色集合 */
    @Column(
            name = "role_codes",
            nullable = false
    )
    private String roleCodes;

    /** 创建时间（登录、登出时间） */
    @Column(
            name = "create_time"
    )
    @Temporal(TemporalType.TIMESTAMP)
    private Date createTime;

    /** ip地址 */
    @Column(
            name = "ip_address",
            length = 20
    )
    private String ipAddress;

    /** 操作类型 01 登录、02登出*/
    @Column(
            name = "op_type",
            nullable = false,
            length = 2
    )
    private String opType;

    /** 应用类型*/
    @Column(
            name = "app_type",
            nullable = false,
            length = 20
    )
    private String appType;

    /** 设备编号*/
    @Column(
            name = "device_no",
            length = 64
    )
    private String deviceNo;

    /**  登录耗时*/
    @Column(
            name = "login_delay_time",
            nullable = false
    )
    private Long loginDelayTime;

}
